Skip to main content
Continue where you left off {{ resumeTitle }} {{ resumePct }} Free · for Egyptian university students

Learn it by
getting it wrong.

CodeAtlas is built from exercises, not lectures. You attempt, you miss, and the feedback names exactly what you misunderstood — then the question comes back later to check it stuck.

First 2 quarters free without sign-up · 3 courses · 515 cards

try one now
Live exercise

{{ liveQ }}

int x = 7; int y = 2; cout << x / y;
{{ fbText }}
Start a full course →
{{ s.n }} {{ s.l }}
How it works

From your first card to your last exam.

Every course is built the same way, so once you know one, you know them all. Here is what you will meet, and what happens along the way.

Course

A full first-year subject: C++, Calculus 1 or Physics 1.

3 courses
Quarters

Each course is split into 4 or 5 quarters, like the parts of your term.

13 quarters
Topics

Each quarter covers a few topics, such as loops, limits or friction. Your score is tracked per topic.

99 topics
Cards

One idea per screen. Some explain, most ask you to do something: answer, predict, fill a gap, drag a graph.

515 cards
Exams

Every quarter ends with 5 exams, from a warm-up to a final, so you know you’re ready for the next one.

5 per quarter

One quarter, start to finish

  1. 1Work through the cards

    Read a little, then try it. Wrong answers come back a few cards later.

  2. 2Get your check-up

    See your score per topic, the questions you missed, and which ones you’ve fixed since.

  3. 3Take 5 exams

    Warm-up, Core, Core+, Challenge, Final. Take a break after the third; your place is saved.

  4. 4Read your report

    A confidence score tells you whether to move on or review a topic first.

Also along the way: a 25-minute English placement before your first course, a question bank to practise any topic, notes for each finished quarter, and a Progress page with every exam you have left.

Three things a textbook can’t do

01

Wrong answers come back

Miss a question and it returns a few cards later, once you've had time to forget your first instinct. You don't move on from something you haven't got yet.

02

Feedback names your mistake

Answer 0.866 for sin(π/6) and it tells you that's cosine, and why the two get swapped. Generic "try again" teaches nothing, so we don't use it.

03

Graphs you can pull apart

Drag a slider and watch a secant line swing into a tangent. Forty-six graphs in the calculus course respond to you instead of sitting still.

Courses

Three full courses, start to finish.

Each one follows a first-year university syllabus. English placement comes first, so the language never gets in the way of the subject.

Swipe to see all courses →

{{ c.kind }}

{{ c.title }}

{{ c.desc }}

{{ c.cards }} Cards
{{ c.exams }} Exams
{{ c.topics }} Topics
{{ c.qCount }} Quarters
{{ q.n }} {{ q.q }}
{{ c.pctLabel }}
{{ c.note }}
Course catalogue

Pick where you want to start.

Each course is self-contained and works on phone or laptop. Your progress saves as you go. Your first 2 quarters need no account — in one course or split across courses.

{{ plBadge }}

{{ plTitle }}

{{ plBody }}

{{ guestTitle }}

{{ guestBody }}

{{ c.kind }}

{{ c.title }}

{{ c.desc }}

{{ q.n }} {{ q.q }}
{{ c.pctLabel }}

CodeAtlas · free to use, no fees, no ads

{{ ll.label }}

© 2026 CodeAtlas. All rights reserved.

Your dashboard

{{ dashHeadline }}

{{ dashSub }}

{{ guestTitle }}

{{ guestBody }}

{{ s.n }}
{{ s.l }}
Exams

{{ examTitle }}

{{ examSub }}

{{ c.title }}{{ c.summary }}
  1. {{ r.n }} {{ r.title }}{{ r.status }}

Your courses

{{ c.title }}

{{ c.statusLabel }} {{ c.posLabel }}

{{ c.pctLabel }}

{{ s.n }} {{ s.l }}

Weakest topics so far

{{ w.name }}
{{ w.label }}

English

{{ engScore }}
{{ engBand }} {{ engTrack }}
{{ m.id }}{{ m.name }}

You have not sat the English placement test yet. It is required before any course opens.

Tell us what to build next

An idea, a mistake you found, or something that confused you. It goes straight to the CodeAtlas team.

Thanks — we got it.

Couldn't send right now. Your message is still here — try again in a moment.

{{ fbPrivacy }}

Your data

{{ dataIntro }}

{{ dataMsg }}

Privacy policy · Cookie policy

Question bank

Build yourself a practice set.

{{ qbIntro }}

{{ qbLoadNote }}

1

Choose a course

Questions come from that course’s cards and exams.

2

What to practise

Follow your progress, or pick the topics yourself.

{{ qbTopicCount }}
3

Set it up

How hard, and how many.

Difficulty
Questions
How is difficulty decided?

{{ qbDiffNote }}

{{ qbSummary }} {{ qbSummarySub }}
News

{{ newsHeadline }}

{{ newsSub }}

{{ pushMsg }}

{{ newsLoadText }}

All news
{{ postType }} {{ postDate }}

{{ postTitle }}

{{ postImageAlt }}

{{ b.text }}

{{ b.text }}
{{ pollQ }}{{ pollHint }}
{{ o.label }}{{ o.pct }}

{{ pollThanks }} Change my vote

{{ pollTotal }}

{{ pollWaitText }}

Last updated {{ legalUpdated }}

{{ legalTitle }}

{{ legalIntro }}

{{ s.h }}

{{ it.t }}

{{ dataMsg }}

Support CodeAtlas

Keep CodeAtlas free.

No ads, no fees, no paid tier. If CodeAtlas helped you, you can help keep it running for the next student.

Where the money goes

Every pound goes into running and growing CodeAtlas.

{{ c.t }}
{{ c.d }}
{{ goalLabel }}{{ goalText }}

Supporting is always optional and never unlocks anything. Every course stays free for everyone.

Ways to support

{{ m.label }}
{{ m.detail }}
Open

Ways to donate are coming soon

Until then, these help just as much, and they're free:

Admin

CodeAtlas dashboard

{{ adminUpdated }}

Sample data. These numbers are made up to show the layout. Real numbers appear here automatically once the backend is live and students start signing in.

Loading…

Period
Course
Students

{{ fNote }}

{{ k.label }}
{{ k.value }}
{{ k.sub }}

{{ trendTitle }}

Share of first-try answers that were correct, per week, by course.

Courses

{{ c.title }}

{{ c.sub }}

{{ s.v }}
{{ s.l }}

Where students are (of all users)

Accuracy by quarter — lower means harder

English placement test

{{ plSub }}

{{ plAvg }}
average score

Users

{{ usersSub }}

NameIDEmailPhoneJoinedLast activeStudy timeC++CalcPhysicsEnglish {{ u.name }} {{ u.id }} {{ u.email }} {{ u.phone }} {{ u.joined }} {{ u.last }} {{ u.time }} {{ u.cpp }} {{ u.calc }} {{ u.phys }} {{ u.eng }}
{{ usersPageText }}

Write a post

Start from a template or write your own. Students see a dot on the News tab.

Start from a template

Describe the photo in a few words so students using screen readers know what it shows.

Buttons (up to 3) — tap one to add it
{{ b.hint }}
Answers (2 to 6)

{{ cpError }}

{{ cpPublishHint }}

Preview

How students will see it.

{{ cpTypeLabel }} {{ cpDateLabel }}

{{ cpPreviewTitle }}

{{ cpImageAlt }}

{{ b.text }}

{{ b.text }}
{{ cpPollPrevQ }}{{ cpPollPrevHint }}
{{ o.label }}
{{ l.label }} →
{{ notesTitle }}

No quarter notes yet

Finish the first quarter of this course and its summary sheet appears here — and on a notes icon inside the course itself. You can still use the paper below.

{{ sheetTitle }}
{{ sec.h }}
{{ ln.t }}

Your own notes for this course. Saved as you type, and the same paper you get from the notes icon inside the course.

{{ draftCount }}
{{ quizPos }} {{ quizDiffLabel }}

{{ quizTopic }}

{{ quizPrompt }}

{{ quizCode }}

{{ quizVerdict }}

{{ quizWhy }}

Keys: A–D or 1–4 to answer · Enter for next · Esc to leave

{{ quizScore }}
{{ quizScoreSub }}

{{ quizVerdictMsg }}

{{ r.mark }} {{ r.topic }}

{{ r.prompt }}

{{ r.answerLine }}

{{ playerTitle }} 1–9 answer · Enter continue · Esc exit{{ playerHint }}
Loading course…

The course didn't load.

This is usually a weak connection. Your progress is safe — try again in a moment.

{{ toastTitle }}

CodeAtlas has no ads and no fees. If it's helping you, you can chip in to keep it that way.

Support